package com.example.springboot_jdk8.service;

import cn.hutool.json.JSONArray;
import com.example.springboot_jdk8.enums.PullDataConfigEnum;

import java.util.List;

/**
 * 转换数据-抽象接口
 * @param <T> 类型可能为 org , job ,user .....
 */
public interface IConvertData<T> {

    /**
     * 支持的转换类型 (org,user,job...)
     * @param pullDataConfigEnum
     * @return
     */
    Boolean supportConvertDataType(PullDataConfigEnum pullDataConfigEnum);


    /**
     * 支持的转换模式 (全量数据转换 / 增量数据转换)
     * @param pullDataConfigEnum
     * @return
     */
    Boolean supportConvertDataModel(PullDataConfigEnum pullDataConfigEnum);

    /**
     * 具体转换
     * @param subOrgList
     * @return
     */
    List<T> convert(JSONArray  subOrgList);
}
